package com.irdstudio.efp.nls.service.facade.queue;

import java.util.List;

import com.irdstudio.efp.nls.service.vo.queue.NlsProcessBizVO;

/**
 * 网贷业务过程
 * 
 * @author huangwb
 * @since 2018年12月27日 上午8:33:47
 * @version 1.0
 */
public interface NlsProcessBizService {

	public List<NlsProcessBizVO> queryAllOwner(NlsProcessBizVO nlsProcessBizVo);

	public List<NlsProcessBizVO> queryAllCurrOrg(NlsProcessBizVO nlsProcessBizVo);

	public List<NlsProcessBizVO> queryAllCurrDownOrg(NlsProcessBizVO nlsProcessBizVo);
	
	public List<NlsProcessBizVO> queryAllByCondition(NlsProcessBizVO nlsProcessBizVo);

	public List<NlsProcessBizVO> queryAllCurrOwnerPrd(NlsProcessBizVO nlsProcessBizVo);

	public int insertNlsProcessBiz(NlsProcessBizVO inNlsProcessBizVo);

	public int deleteByPk(NlsProcessBizVO nlsProcessBizVo);

	public int updateByPk(NlsProcessBizVO nlsProcessBizVo);

	public NlsProcessBizVO queryByPk(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 将T-1的数据删除
	 * 
	 * @param currAppDate
	 * @return
	 * @author huangwb
	 * @since 2019年1月3日 上午10:40:33
	 * @version 1.0
	 */
	public int deleteTMinus1DData(String currAppDate);

	/**
	 * 查询列表数据
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author qiuyf
	 * @since 2019年1月10日 下午8:08:08
	 * @version 1.0
	 */
	public List<NlsProcessBizVO> queryListByCondition(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 根据队列任务状态查询网贷业务过程表
	 * 
	 * @param queueTaskState
	 * @return
	 * @author huangwb
	 * @since 2019年1月24日 下午3:03:26
	 * @version 1.0
	 */
	public List<String> queryProcessBizByQueueTaskState(String queueTaskState);

	/**
	 * 查看当前用户对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:04:50
	 * @date 2019年3月5日 下午7:04:50
	 * @version 0.1
	 */
	public List<NlsProcessBizVO> queryAllByLevelOne(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 查看当前用户及所属机构对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:06:47
	 * @date 2019年3月5日 下午7:06:47
	 * @version 0.1
	 */
	public List<NlsProcessBizVO> queryAllByLevelTwo(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 查看当前用户所在机构及下属机构对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:07:17
	 * @date 2019年3月5日 下午7:07:17
	 * @version 0.1
	 */
	public List<NlsProcessBizVO> queryAllByLevelThree(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 预留，便于后续自定义 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:07:44
	 * @date 2019年3月5日 下午7:07:44
	 * @version 0.1
	 */
	public List<NlsProcessBizVO> queryAllByLevelFour(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 预留，便于后续自定义 <br>
	 * 
	 * @param vo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:08:11
	 * @date 2019年3月5日 下午7:08:11
	 * @version 0.1
	 */
	public List<NlsProcessBizVO> queryAllByLevelFive(NlsProcessBizVO nlsProcessBizVo);


}
